﻿<?xml version="1.0" encoding="utf-8" ?>
<SolverTests>
    <!-- Section indicating what solvers should be run -->
    <Solvers>
        <!-- Solver section. This solver is an iterative one -->
        <Solver type="Iterative"  name="FULL NAME HERE">
            <!-- 
            Solver constructor parameter. This one is the test matrix. There should be
            a special value that indicates to the app that it should run this solver
            on all available test matrices. Maybe we'll even need some kind of indication
            of which matrices to run. Some kind of keyword or id number?
            -->
            <ConstructorParameter type="Matrix" value="TheTestMatrix" />
            <!--
            The preconditioner parameter. This one indicates a test preconditioner. Same as
            with the test matrices. Some how we need to indicate which preconditioners to 
            run. Also how do we set the parameters? They may be matrix dependent, but do we
            want to take that into account. If not then we can indicate them in the
            Preconditioners section.
            -->
            <ConstructorParameter type="IPreconditioner" value="TheTestPreconditioner" />
            <!--
            The convergence monitor to use. There should only be one but there should be a
            way to set the parameters (number of iterations, convergence boundary, ....)
            -->
            <ConstructorParameter type="ConvergenceMonitor" value="AConvergenceMonitor" />
        </Solver>
        <!-- Solver section. This solver is a direct one. -->
        <Solver type="Direct" name="FULL NAME HERE">
            <ConstructorParameter type="Matrix" value="TheTestMatrix" />
        </Solver>
    </Solvers>
    <!-- Preconditioner section -->
    <Preconditioners>
        <!-- Preconditioner section. Indicate full name + constructor parameters -->
        <Preconditioner name="FULL NAME HERE">
            <ConstructorParameter type="Matrix" value="TheTestMatrix" />
        </Preconditioner>
    </Preconditioners>
    <!-- 
    The matrix section. Each matrix gets one entry. Do we need to indicate the final results?
    Also do we need specific RHS vectors?
    -->
    <Matrices>
        <Matrix file="MATRIX FILE LOCATION HERE" />
    </Matrices>
    <!--
    The output section. Probably need a file name here. Are there other things we want to 
    run output to? If so we might need output classes that can be attached.
    -->
    <Output>
        <File name="FILE NAME HERE" append="TRUE OR FALSE"/>
    </Output>
</SolverTests>